package com.px.mbg.model;

import java.math.BigDecimal;
import com.px.mbg.base.BaseEntity;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 备料表
 * </p>
 *
 * @author 品讯科技
 * @since 2023-08-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="StockPrep对象", description="备料表")
public class StockPrep extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "组织id")
    private Long organizationId;

    @ApiModelProperty(value = "计划生产任务的id")
    private Long planTasksId;

    @ApiModelProperty(value = "生产订单编号")
    private String prodOrderNo;

    @ApiModelProperty(value = "工序ID")
    private Long processStepId;

    @ApiModelProperty(value = "设备id")
    private String deviceId;

    @ApiModelProperty(value = "备料时间")
    private LocalDateTime cashingDate;

    @ApiModelProperty(value = "备料数量")
    private BigDecimal useNum;

    @ApiModelProperty(value = "单个物料消耗量")
    private BigDecimal preUse;

    @ApiModelProperty(value = "备料数量单位")
    private String quantityUnit;

    @ApiModelProperty(value = "已领数量")
    private BigDecimal pickNum;

    @ApiModelProperty(value = "已退数量")
    private BigDecimal returnNum;

    @ApiModelProperty(value = "系统类型（0：系统添加，1：手工添加）")
    private Integer sysType;

    @ApiModelProperty(value = "领取状态（1：已开始领取，2：领料完毕）")
    private Integer pickStatus;

    @ApiModelProperty(value = "生产订单状态")
    private Integer prodStatus;

    @ApiModelProperty(value = "料号")
    private String bomCode;

    @ApiModelProperty(value = "品名")
    private String bomName;

    @ApiModelProperty(value = "别名")
    private String figureNumber;

    @ApiModelProperty(value = "规格")
    private String specification;

    @ApiModelProperty(value = "材质")
    private String texture;

    @ApiModelProperty(value = "机型")
    private String modelNumber;

    @ApiModelProperty(value = "宽度")
    private String width;

    @ApiModelProperty(value = "长度")
    private String longt;

    @ApiModelProperty(value = "厚度")
    private String thickness;

    @ApiModelProperty(value = "重量")
    private String weight;

    @ApiModelProperty(value = "总重量")
    private String sumWeight;

    @ApiModelProperty(value = "宽度单位")
    private String widthUnit;

    @ApiModelProperty(value = "重量单位")
    private String weightUnit;

    @ApiModelProperty(value = "长度单位")
    private String lengthUnit;

    @ApiModelProperty(value = "厚度单位")
    private String thicknessUnit;

    @ApiModelProperty(value = "计量单位")
    private String measureUnit;

    @ApiModelProperty(value = "是否超额领料")
    private String oversubCribed;

    @ApiModelProperty(value = "控制方式")
    private String controlMode;

    @ApiModelProperty(value = "超额数值")
    private String numerical;

    @ApiModelProperty(value = "齐套方式")
    private String hisSetOfWay;

    @ApiModelProperty(value = "目标单位编码")
    private String tgtUnitCode;

    @ApiModelProperty(value = "目标单位名称")
    private String tgtUnitName;

    @ApiModelProperty(value = "转换完值(目标值)")
    private BigDecimal cnvRateVal;

    @ApiModelProperty(value = "程序号")
    private String programNumber;

    @ApiModelProperty(value = "工序名")
    private String processStepName;

    @ApiModelProperty(value = "是否在备料计划显示（显示/隐藏）")
    private String showFlag;


    private transient BigDecimal inventory;

    // 为inventory字段添加getter和setter方法
    public BigDecimal getInventory() {
        return inventory;
    }

    public void setInventory(BigDecimal inventory) {
        this.inventory = inventory;
    }
}
